package com.java.diagnostics.visualizer.impl.marshalling;

import com.java.diagnostics.visualizer.data.DataSet;
import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerException;
import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerParsedDataCorruptedException;
import com.java.diagnostics.visualizer.properties.OutputProperties;
import com.java.diagnostics.visualizer.properties.OutputPropertiesListener;
import com.java.diagnostics.visualizer.sources.Source;
import org.eclipse.core.runtime.IStatus;

public abstract interface Marshaller
{
  public abstract void save()
    throws GCAndMemoryVisualizerException;

  public abstract DataSet getDataSet(DataSetListener paramDataSetListener);

  public abstract OutputProperties getOutputProps(OutputPropertiesListener paramOutputPropertiesListener);

  public abstract void addSource(Source paramSource)
    throws GCAndMemoryVisualizerParsedDataCorruptedException;

  public abstract void removeSource(Source paramSource);

  public abstract void setOutputFolder(String paramString);

  public abstract void setImageSize(int paramInt1, int paramInt2);

  public abstract IStatus waitForDatasetUpdates();
}

